1. Field of the Invention
The present invention relates to an information processing system including, at least, two information processing devices connectable to each other on a computer network and more particularly to the information processing system including the two information processing devices each storing information represented in a tagged language and performing replication of the information between them so that the two information processing devices are able to have the same information
2. Description of the Related Art
Conventionally, when information is to be replicated among a plurality of servers, in general, one server going to transmit the information first converts a format of the information to be replicated into a format that can be understood by the other server going to receive the information by using replicating functions stored in a database possessed by each of the servers and then transmits the information to the other server going to receive the information. The other server having received the information whose format has been converted then replicates the received information.
However, in the above conventional replicating method, when the replication of information is performed among servers possessed by different industries so that the same information can be held among them, if there is a difference in configurations of the database among servers operated by the different industries or if there is a difference in methods of defining information stored in the database by servers of the different industries, one server having information to be replicated has to re-define, in advance, a format of the information to be replicated so that the format is acceptable to an interface of the other server going to receive the information and then has to feed the information whose format has been re-defined to the other server going to receive the information.
Since a mobile device such as a notebook-sized personal computer and/or an electronic organizer generally has a limited capacity of processing information and holds only small amounts of information, it is not easy to provide the mobile device with existing functions of the database having a sufficient information processing capacity and large storage capacity. Moreover, unless the mobile device is connected to the server, it cannot use information provided by the database in real time.
When the replication is performed among servers each having its own database, each of the servers can use the functions stored in the database and it is easy for each server to make a complete replica within a predetermined range for replication. However, in the case of the mobile device, the range of replicating information and/or time of renewing the information are changed arbitrarily; for example, a user of the mobile device changes at any time information such as a scheduled date in the electronic organizer. Thus, it is difficult to apply such functions of the database as described above to such use of the mobile device.
Following conventional examples in a technical field described above have been disclosed.
(1) Japanese Patent Application Laid-open No. Hei 11-234270 entitled xe2x80x9cMethods for replicating and renewing database between networksxe2x80x9d. In the methods described in this conventional technology, (existing) functions of converting information and of replicating information provided by databases are utilized.
In the above conventional methods, when information is exchanged between different databases through the Internet, a format of the information to be transmitted is converted, by using the database of the server going to transmit the information, into a format of the information in accordance with an encryption protocol contained in the database of the server going to receive the information and the converted information is transmitted from a proxy server going to transmit the information to a proxy server going to receive the information. However, if the server going to transmit the information has not used the protocol contained in the database of the server going to receive the information, every time the server going to transmit the information transmits the information, it has to prepare a new program that can be used in the protocol contained in the database of the server going to receive the information.
(2) Japanese Patent Application Laid-open No. Hei 11-249874 entitled xe2x80x9cComputer system, synchronization processing method in the computer system and storage mediumxe2x80x9d. In a client/server system disclosed in this example, in order for a server and a client to be able to use information not only in a state where the server and the client are connected to each other but also in a state they are not connected to each other, the system is so configured that each of the server and the client can supply replicated data maintaining conformity in contents. In general, in the client/server system, there are some cases where data is changed by either or both of the server and the client while the client and the server are not in sync with each other, that is, while they are not connected to each other. To solve this problem, in the disclosed example, in order to maintain the conformity in the replicated data between the server and the client, the replication is performed in a manner that a list of synchronization describing processing of the synchronization of the data possessed by the server is provided on the server side and a list of a replica which is the replicated list of the synchronization processing performed by the server is provided on the client side and these lists are exchanged between them. The disclosed patent application has proposed the method described above together with the use of an interface for mobile devices, however, it does not describe any concrete method of the replication that can be applied to mobile devices.
(3) Japanese Patent Application Laid-open No. Hei 10-161922 entitled xe2x80x9cDefinition method of replica typexe2x80x9d. In the disclosed replication method, in order to shorten time of condition judgment required for designating conditions for replication range of a database system, a xe2x80x9creplica typexe2x80x9d is used. That is, instances of the same type contained in an object-oriented database are grouped by the replica type. By using the replica type, it is possible to perform, at high speed, the selection of instances to be replicated and the judgment as to whether the production of selected instances is allowed or not. However, the above method of grouping by the replica type can be used for only data which can be represented by an object and therefore this method is effective only in the case of production of replicas of information in the object-oriented database.
(4) Japanese Patent Application Laid-open No. Hei 10-161916 entitled xe2x80x9cMethod for detecting contention of data renewing associated with replication of databasexe2x80x9d. In the disclosed method for the detection, an identifier is given to each data being a processing unit for renewing data in database and the number of times of data renewing is stored as renewing serial numbers in renewing serial number history data. When information is renewed for replication, whether the contention of renewing occurs or not is judged by comparing renewing serial numbers stored in the renewing serial number history data for replication transferred from the database of the server having the information to be replicated with that of data possessed in the database of the server going to replicate the information. That is, checking on the contention of renewing is controlled by using the renewing serial number.
In a WAN (Wide Area Network) system where a mobile device is operated as a client, it is required that, even when the mobile device is not connected to the network, the mobile device, by having a replica of a partial set of the information provided from the server, can handle the information.
Moreover, in the WAN in which, for example, a server of a head office is connected to a server of a branch office for communication, since it is costly to keep each of the servers connected to the network at all times, it is required that each server can be connected to the network only when the communication are necessary.
In view of the above, it is an object of the present invention to provide an information processing system made up of a plurality of information processing devices each having information data represented in the same language with tags and each being capable of performing, by giving an attribute indicating an identity and an attribute indicating a time stamp to a tag corresponding to a minimum information unit making up the information data, replication of only non-conformity portion of the information data at a time of replication of information for renewing information among the information processing devices.
It is another object of the present invention to provide the information processing system made up of a plurality of information processing devices each being capable of handling each piece of information in a set unit by giving a set attribute to the minimum unit information and being capable of replicating information designated by the set unit and being most suitably used in a system including mobile devices in particular.
According to a first aspect of the present invention, there is provided a information processing system including:
at least two information processing devices being connected through a communication network so as to be communicated with each other in order to enable data transfer so that both of the information processing devices hold information data containing the same content, and each having a memory used to store the information data; and
wherein the data stored in the memory is made up of unit data being split into a predetermined unit and the data is of a hierarchical tree structure in which nodes are expressed by tags and wherein each of the nodes existing in a lowest layer in the hierarchical tree structure corresponds to each piece of the unit data and to each of the tags expressing each of the nodes in the lowest layer are added identifying information used to identify each piece of the unit data and time information indicating a time of storing each piece of the unit data into the memory, and wherein each of the information processing devices includes a replication control unit which, by using the identifying information and the time information, detects inconsistent portion of the data held by each of the information processing devices and performs replication of the inconsistent portion of the data only between the information processing devices.
In the foregoing, a preferable mode is one wherein the identifying information has an identification code used to identify each of the information processing devices.
A preferable mode is one wherein at least one of the plurality of information processing devices is a server and at least one of the plurality of information processing devices except the server is a mobile device being a client and wherein the replication of information is performed between the server and the mobile device.
Also, a preferable mode is one wherein the network is a WAN (Wide Area Network).
Also, a preferable mode is one wherein the mobile device, by using the identifying code fed from the server through the network and used to identify the mobile device, is able to produce new identifying information even while the mobile device is not being connected to the network.
Also, a preferable mode is one wherein each of the information processing devices is a server operating on the network.
Also, a preferable mode is one wherein the time information is made up of a synchronized time attribute indicating a time of completion of the replication of information between the information processing devices and of a changed time attribute indicating an updated time of storing each piece of the unit data into the memory.
Also, a preferable mode is one wherein a set attribute indicating a set to which each piece of the unit data belongs is added to the tag of the node in the lowest layer.
Also, a preferable mode is one wherein each of the information processing devices is able to designate a predetermined group of unit data using the set attribute.
Also, a preferable mode is one wherein a priority attribute showing information about priority as to whether the unit data to be updated is to be overwritten with unit data to be replicated at time of the replication is added to the tag of the node in the lowest layer.
Also, a preferable mode is one wherein one of the information processing devices storing the unit data to be updated judges, when the changed time attribute given to the tag corresponding to the unit data to be updated shows a time being newer than a time shown by the synchronized time attribute given to the tag at a time of the replication, whether the unit data to be updated is to be overwritten by the unit data to be replicated on the basis of the priority attribute given to each of the both unit data.
Furthermore, a preferable mode is one wherein, when the unit data to be updated has not been overwritten with the unit data to be replicated according to the judgment based on the priority attribute, an event notification showing that the replication between the information processing devices has become invalid is issued to the information processing device storing the unit data to be replicated.